Career 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007 2006 
All Rounds Final 1/2 1/4 First Second Third Fourth Pre-q Rubber 1 Rubber 2 Rubber 3 Rubber 4 Rubber 5 Robin Bronze Q3 N/A Q2 Q1 ER Q4 CR QF Q5 N/A 
All Courts Acrylic N/A Clay Grass Carpet Hard I.hard 
All Tour Wimbledon - London U.S. Open - New York Santa Fe 2 Challenger Rolex Paris Masters - Paris Sofia Open - Sofia Oeiras 1 Challenger Australian Open - Melbourne Manama Challenger Rio Open - Rio de Janeiro BNP Paribas Open - Indian Wells Tenerife 3 Challenger Grand Prix Hassan II - Marrakech Girona Challenger Murcia Challenger Millennium Estoril Open - Estoril Mutua Madrid Open - Madrid Francavilla Challenger Oeiras 4 Challenger Porto Challenger Poznan Challenger Wimbledon - London Citi Open - Washington Generali Open - Kitzbuhel U.S. Open - New York Hangzhou Open - Hangzhou Shanghai Rolex Masters - Shanghai European Open - Antwerp Moselle Open - Metz M25 Vale do Lobo Abierto Mexicano Telcel - Acapulco Argentina Open - Buenos Aires ASB Classic - Auckland Oeiras 2 Challenger Australian Open - Melbourne Miami Open - Miami Barcelona Open Banc Sabadell - Barcelona Internazionali BNL d'Italia - Rome Grand Prix Hassan II - Marrakech M25 Reus M25 Mataro M25 Figueira da Foz Wimbledon - London EFG Swiss Open - Gstaad Pozoblanco Challenger National Bank Open - Toronto M25 Porto Plava Laguna Croatia Open - Umag Cincinnati Open - Cincinnati Bad Waltersdorf Challenger Braga Challenger Lisbon Challenger M25 Sintra Olbia Challenger Portugal F4 Portugal F5 Spain F7 Portugal F1 Spain F17 Sweden F5 USA F26 Mexico F10 Mexico F11 USA F1 USA F2 USA F3 Mexico F1 Costa Rica F1 Colombia F2 Canada F1 Canada F2 Canada F3 Usa F7 Usa F8 Czech Rep. F2 Czech Rep. F3 Spain F18 Usa F14 Usa F15 Usa F5 Portugal F3 Switzerland F3 Spain F11 Italy F5 Usa F13 Usa F15 Brazil F22 Spain F31 Spain F32 Brazil F31 Brazil F32 Brazil F33 Brazil F1 Colombia F1 Colombia F2 Spain F6 Spain F7 USA F7 Spain F9 Spain F10 Spain F11 Spain F12 Spain F13 Spain F15 Morocco F4 Italy F18 Spain F28 Brazil F26 Spain F29 Spain F31 Brazil F33 Spain F38 Spain F39 Spain F41 Spain F1 Spain F2 Spain F4 Spain F5 Spain F6 Croatia F5 Italy F3 Spain F10 Spain F11 Spain F12 Poland F3 Italy F13 Czech Republic F5 Spain F22 Poland F5 Spain F26 Spain F27 Spain F30 Spain F32 Morocco F6 Morocco F7 Morocco F9 Spain F2 Spain F3 Spain F4 Spain F6 Spain F7 Spain F8 Spain F19 Italy F22 Spain F32 Spain F33 Spain F34 Spain F36 Spain F38 Egypt F3 Spain F1 Spain F3 Spain F4 Italy F6 Italy F7 Spain F29 Spain F30 Italy F5 Spain F18 Spain F32 Portugal F6 Portugal F2 Portugal F3 Usa F18 Spain F14 M15 Sintra M15 Sintra M25 Porto M25 Vale Do Lobo M25 Villena M25 Vale do Lobo M25 Faro M25 Vale do Lobo Seville Challenger M25 Quinta do Lago M25 Sintra France F13 Sao Paulo Challenger M25 Vila Real de Santo Antonio Marbella Challenger Blois Challenger Montevideo Challenger Mohammedia Challenger Prostejov Challenger Sibiu Challenger Lima Challenger San Remo Tennis Cup - San Remo Nielsen USTA Pro Tennis Championship - Winnetka Moncton Men's Challenger - Moncton Semgroup Challenger - Tulsa Sacramento Challenger - Sacramento Ford Tennis Championships - Louisville National Bank Men's Rimouski Challenger - Rimouski Sao Paulo Challenger Lexington Challenger Campos do Jordao Challenger Brasilia Challenger Salvador Challenger Belo Horizonte Challenger Montevideo Challenger Buenos Aires Challenger Asuncion Challenger Santiago Challenger Sao Paulo Challenger Bucaramanga Challenger Dallas Challenger Le Gosier Challenger Recife Challenger Prague Challenger Seville Challenger Recife Challenger Belo Horizonte Challenger Sao Leopoldo Challenger Buenos Aires Challenger Guayaquil Challenger Montevideo Challenger Sao Paulo Challenger Florianopolis Challenger Blumenau Challenger Santos Challenger Caltanissetta Challenger Kosice Challenger Timisoara Challenger Pozoblanco Challenger St. Remy Challenger San Juan Challenger Rio De Janeiro Challenger Sao Paulo Challenger Santos Challenger Bordeaux Challenger Tanger Challenger Poznan Challenger Orbetello Challenger Brasov Challenger Seville Challenger Campinas Challenger Sao Jose Do Rio Preto Challenger Casablanca Challenger Panama City Challenger Itajai Challenger Santos Challenger Aix En Provence Challenger Braunschweig Challenger Todi Challenger San Benedetto Challenger Liberec Challenger Kenitra Challenger Guayaquil Challenger Champaign Challenger Bucaramanga Challenger Santo Domingo Challenger Guangzhou Challenger Sarasota Challenger Mestre Challenger Caltanissetta Challenger Blois Challenger Padova Challenger San Benedetto Challenger Prague Challenger Cordenons Challenger Como Challenger Meknes Challenger Kenitra Challenger Porto Alegre Challenger Campinas Challenger Rome Challenger Sao Paulo Challenger Mohammedia Challenger Casablanca Challenger Buenos Aires Challenger Mendoza Challenger Buenos Aires Challenger Rio De Janeiro Challenger Santo Domingo Challenger Jonkoping Challenger Guadalajara Challenger Kazan Challenger Napoli Challenger Turin Challenger Mestre Challenger Vicenza Challenger Prostejov Challenger Furth Challenger Lyon Challenger Perugia Challenger Milan Challenger Bastad Challenger Cortina Challenger Fano Challenger Meerbusch Challenger Como Challenger Genova Challenger Guayaquil Challenger Shenzhen Challenger Sao Jose Do Rio Preto Challenger Kenitra Challenger Barletta Challenger Francavilla Challenger Vicenza Challenger Poprad Tatry Challenger Todi Challenger Bastad Challenger Scheveningen Challenger Cortina Challenger M25 Quinta Do Lago Floridablanca Challenger Santo Domingo Challenger Cordenons Challenger Manerbio Challenger Como Challenger Rome Challenger Lima Challenger Casablanca Challenger Buenos Aires Challenger Le Gosier Challenger Cali Challenger Guayaquil Challenger Sao Paulo Challenger Montevideo Challenger Bordeaux Challenger Santiago Challenger Rio De Janeiro Challenger Arad Challenger Rennes Challenger Campos do Jordao Challenger Santiago Challenger Vancouver Challenger Bucaramanga Challenger Le Gosier Challenger Marbella Challenger Alicante Challenger Barletta Challenger Tunis Challenger Noumea Challenger Braga Challenger Prostejov Challenger Bogota Challenger L'Aquila Challenger Braunschweig Challenger Campinas Challenger Madrid Challenger Genova Challenger Szczecin Challenger Florence Challenger Seville Challenger Santo Domingo Challenger Barcelona Challenger Brest Challenger Lima Challenger Montevideo Challenger Buenos Aires Challenger Orlando Challenger Columbus Challenger Bangkok Challenger Bangkok Challenger Yokohama Challenger Alicante Challenger Murcia Challenger Sarasota Challenger Francavilla Challenger Lisbon Challenger Tampere Challenger Nur-Sultan Challenger Tampere Challenger Sopot Challenger Szczecin Challenger Newport Beach Challenger Buenos Aires Challenger Braunschweig Challenger Campinas Challenger Barcelona Challenger Santo Domingo Challenger Scheveningen Challenger Brest Challenger Segovia Challenger Ann Arbor Challenger Porto Alegre Challenger Campinas Challenger Buenos Aires Challenger Bendigo Challenger Todi Challenger Prague Challenger Marburg Challenger Aix En Provence Challenger Prague Challenger Genova Challenger Alphen Challenger Campinas Challenger Knoxville Challenger Belem Challenger Guayaquil Challenger Dallas Challenger Campinas Challenger Maia Challenger Shenzhen Challenger Oeiras 1 Challenger Sao Leopoldo Challenger Oeiras 2 Challenger Belgrade Challenger ATP Challenger Tour Finals Oeiras 4 Challenger Como Challenger Bucaramanga Challenger Aix En Provence Challenger Forli Challenger Milan Challenger Salzburg-Anif Challenger Tampere Challenger Verona Challenger Seville Challenger Murcia Challenger Canberra Challenger Maia 1 Challenger Maia 2 Challenger Cherbourg Challenger Savannah Challenger Biella Challenger Gran Canaria Challenger Roseto Degli Abruzzi 2 Challenger Marbella Challenger Oeiras 2 Challenger Madrid Challenger Ostrava Challenger Bordeaux Challenger Tunis Challenger Forli 6 Challenger Perugia Challenger Montechiarugolo - Parma Challenger Salzburg Challenger Amersfoort Challenger Lima Challenger Santo Domingo Challenger Seville Challenger Szczecin Challenger Rome Challenger Oeiras 1 Challenger Lisbon Challenger Parma Challenger Luedenscheid Challenger Montevideo Challenger Aix En Provence Challenger Valencia Challenger Monterrey Challenger Bordeaux Challenger Waco Challenger Puerto Vallarta Challenger Phoenix Challenger Las Franquesas del Valles Challenger Itajai Challenger Girona Challenger Bordeaux Challenger Prague 2 Challenger Rome Challenger Campinas Challenger Madrid Challenger Sao Paulo Challenger Braunschweig Challenger Como Challenger Corrientes Challenger Sao Paulo Challenger Santiago Challenger Lima Challenger Montevideo Challenger Guayaquil Challenger Buenos Aires Challenger Bangkok Challenger Sao Paulo Challenger Bucaramanga Challenger Barranquilla Challenger Sao Paulo Challenger Phoenix Challenger Barletta Challenger Bordeaux Challenger Oeiras 3 Challenger Furth Challenger Tampere Challenger Meknes Challenger Campinas Challenger Charlottesville Challenger Meknes Challenger Brasov Challenger Irving Challenger Napoli Challenger Braunschweig Challenger Lima 2 Challenger Forli 5 Challenger Zadar Challenger Braunschweig Challenger Seville Challenger Tenerife 1 Challenger Oeiras 2 Challenger Valencia Challenger Aptos Challenger Campinas Challenger Curitiba Challenger Montevideo Challenger Lisbon Challenger Oeiras 1 Challenger Oeiras 3 Challenger Chennai Challenger Braunschweig Challenger Biella Challenger Barletta Challenger Zagreb Challenger Banja Luka Challenger Milan Challenger Braga Challenger Lisbon Challenger Braga Challenger Oeiras 5 Challenger Lisbon Challenger Lima Challenger Porto Challenger Sophia Antipolis Challenger GHI Bronx Tennis Classic - Bronx Tenerife 2 Challenger San Benedetto Challenger Phoenix Challenger Naples Challenger - Naples Guayaquil Challenger 2007 Knoxville Challenger - Knoxville Abierto Internacional de Salinas 'Dario Expreso' - Salinas III Challenger Isla de Gran Canaria Ciudad de Telde - Telde JSM Challenger of Champaign - Urbana Challenger Banque Nationale - Granby Poznan Challenger Oldum Brown Vancouver Open - Vancouver Levene Gouldin & Thompson Tennis Challenger - Binghamton Challenger Britania Zavaleta - Puebla Abierto Internacional Varonil Ciudad de Cancun - Cancun Noumea Challenger Marbella Challenger Tunis Challenger Bad Waltersdorf Challenger Bordeaux Challenger M25 Vila Real de Santo Antonio Dallas Challenger Dallas Challenger Estoril Open - Estoril Porto Alegre Challenger Montevideo Challenger Mallorca Challenger Porto Challenger Cordenons Challenger Gerry Weber Open - Halle Guayaquil Challenger Delray Beach International Tennis Championships - Delray Beach Estoril Open - Estoril Cordenons Challenger Estoril Open - Estoril Oberstaufen Challenger Estoril Open - Estoril Campbells Hall of Fame Tennis Championships - Newport Perugia Challenger Mersin Challenger Estoril Open - Estoril Open de Nice Cote d'Azur - Nice Liberec Challenger VTR Open - Vina del Mar Brasil Open - Sao Paulo Copa Claro - Buenos Aires Manerbio Challenger Estoril Open - Estoril Porto Alegre Challenger VTR Open - Vina del Mar Brasil Open - Sao Paulo Copa Claro - Buenos Aires Delray Beach International Tennis Championships - Delray Beach Grand Prix Hassan II - Casablanca Barcelona Open BancSabadell - Barcelona Portugal Open - Oeiras U.S. National Indoor Tennis Championships - Memphis Delray Beach Open - Delray Beach Santiago Challenger Brasil Open - Sao Paulo Grand Prix Hassan II - Casablanca Barcelona Open BancSabadell - Barcelona Estoril Open - Estoril Portugal Open - Oeiras Mercedes Cup - Stuttgart Bet-at-home Open - Hamburg Bordeaux Challenger Erste Bank Open - Vienna Swiss Indoors Basel - Basel Ecuador Open - Quito Abierto Mexicano Telcel - Acapulco Braunschweig Challenger Argentina Open - Buenos Aires US Men's Clay Court Championship - Houston Barcelona Open BancSabadell - Barcelona Casablanca Challenger BB&T Atlanta Open - Atlanta Millennium Estoril Open - Estoril Ecuador Open - Quito Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Brasil Open - Sao Paulo Barcelona Open BancSabadell - Barcelona TEB BNP Paribas Istanbul Open - Istanbul SkiStar Swedish Open - Bastad Generali Open - Kitzbuhel Konzum Croatia Open - Umag St. Petersburg Open - St. Petersburg Rakuten Japan Open - Tokyo If Stockholm Open - Stockholm Aircel Chennai Open - Chennai Apia International - Sydney Ecuador Open - Quito Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Brasil Open - Sao Paulo Grand Prix Hassan II - Marrakech Open Parc - Lyon Maharashtra Open - Pune Ecuador Open - Quito Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Brasil Open - Sao Paulo Barcelona Open BancSabadell - Barcelona Bancolombia Open - Bogota Millennium Estoril Open - Estoril Open Parc - Lyon SkiStar Swedish Open - Bastad Swiss Open - Gstaad Winston-Salem Open - Winston-Salem Tata Open Maharashtra - Pune Cordoba Open - Cordoba Milan Challenger Argentina Open - Buenos Aires Braunschweig Challenger Brasil Open - Sao Paulo Barcelona Open Banc Sabadell - Barcelona Millennium Estoril Open - Estoril Fever-Tree Championships - London Turkish Airlines Open Antalya - Antalya SkiStar Swedish Open - Bastad Swiss Open - Gstaad St. Petersburg Open - St. Petersburg Argentina Open - Buenos Aires Santiago Open - Santiago Forte Village Sardegna Open - Sardinia Chile Dove Men+Care Open - Santiago Serbia Open - Belgrade Millennium Estoril Open - Estoril Roma Open Challenger - Rome Mallorca Championships - Mallorca Nordea Open - Bastad Erste Bank Open - Vienna Anytech365 Andalucia Open - Marbella Belgrade 2 - Belgrade Adelaide International 1 - Adelaide Adelaide International 2 - Adelaide Cordoba Open - Cordoba Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Grand Prix Hassan II - Marrakech Barcelona Open Banc Sabadell - Barcelona Millennium Estoril Open - Estoril Plava Laguna Croatia Open - Umag Argentina Open - Buenos Aires Chile Dove Men+Care Open - Santiago Grand Prix Hassan II - Marrakech Argentina Open - Buenos Aires Gonet Geneva Open - Geneva Mallorca Championships - Mallorca Lyon Challenger Campinas Challenger Qatar ExxonMobil Open - Doha Genova Challenger Shenzhen Open - Shenzhen Sao Paulo Challenger Lima Challenger Lisbon Challenger Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril Bucaramanga Challenger Bet-at-home Open - Hamburg Santiago Challenger Marbella Challenger Oeiras 3 Challenger Biella 7 Challenger Porto Challenger Amersfoort Challenger Abierto Mexicano - Los Cabos Poznan Challenger San Marino Challenger Szczecin Challenger Generali Open - Kitzbuhel Winston-Salem Open - Winston-Salem Great Ocean Road Open - Melbourne Oeiras 3 Challenger Kremlin Cup - Moscow Bendigo Challenger Vicenza Challenger Forli 4 Challenger Marburg Challenger Le Gosier Challenger Rio De Janeiro Challenger Braga Challenger Swiss Open - Gstaad Gonet Geneva Open - Geneva Mallorca Championships - Mallorca Firenze Open - Florence Tennis Napoli Open - Naples Tata Open Maharashtra - Pune Cordoba Open - Cordoba Winston-Salem Open - Winston-Salem Rio Open - Rio de Janeiro BMW Open - Munich Cordoba Open - Cordoba Astana Open - Astana European Open - Antwerp Cordoba Open - Cordoba Barcelona Open Banc Sabadell - Barcelona Nordea Open - Bastad China Open - Beijing Hong Kong Tennis Open - Hong Kong Dallas Open - Dallas Antalya Cup - Antalya Generali Open - Kitzbuhel Mohammedia Challenger Girona Challenger Estoril Challenger Rio Open - Rio de Janeiro Rio Open - Rio de Janeiro Movistar Chile Open - Santiago Salinas Challenger Rio Open - Rio de Janeiro ASB Classic - Auckland Argentina Open - Buenos Aires Las Vegas Challenger Sao Leopoldo Challenger Malaga Challenger Aix En Provence Challenger Braga Challenger Canberra Challenger Todi Challenger Oeiras 4 Challenger Sibiu Challenger Bordeaux Challenger Montevideo Challenger Sony Ericsson Open - Miami Sony Ericsson Open - Miami BNP Paribas Open - Indian Wells Sony Ericsson Open - Miami BNP Paribas Open - Indian Wells Pilot Pen Tennis - New Haven Mutua Madrid Open - Madrid Mutua Madrid Open - Madrid BNP Paribas Open - Indian Wells Seville Challenger Mutua Madrid Open - Madrid Miami Open - Miami Mutua Madrid Open - Madrid Western & Southern Open - Cincinnati BNP Paribas Open - Indian Wells Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Seville Challenger BNP Paribas Open - Indian Wells Miami Open - Miami Mutua Madrid Open - Madrid BNP Paribas Masters - Paris Internazionali BNL d'Italia - Rome BNP Paribas Open - Indian Wells Internazionali BNL d'Italia - Rome Miami Open - Miami Mutua Madrid Open - Madrid BNP Paribas Open - Indian Wells Open Sabadell Atlantico - Barcelona Miami Open - Miami Internazionali BNL d'Italia - Rome Internazionali BNL d'Italia - Rome Guayaquil Challenger Salzburg Challenger Millennium Estoril Open - Estoril Lima 2 Challenger Grand Prix Hassan II - Marrakech Sofia Open - Sofia Lyon Challenger Porto 2 Challenger European Open - Antwerp U.S. Open - New York French Open - Paris Wimbledon - London French Open - Paris Wimbledon - London Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London Australian Open - Melbourne French Open - Paris U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne Davis Cup, Group 1, 1R, GEO-POR 3-2 Davis Cup, Group 2, 2R, POR-TUN 4-1 Davis Cup, Group I, PO, SVK-POR 3-1 Davis Cup, Group II, 2R, POR-LTU 5-0 Davis Cup, Group II, 3R, MDA-POR 2-3 Davis Cup, Group I, 1R, SLO-POR 3-2 Davis Cup, Group I, PO, RUS-POR 4-1 Davis Cup, Group II, 3R, POR-BLR 3-2 Davis Cup, Group I, 1R, POR-AUT 1-4 Davis Cup, Group I, PO, POR-SLO 5-0 Davis Cup, Group I, 1R, POR-ISR 5-0 Davis Cup, Group I, 2R, SWE-POR 3-2 Davis Cup, Group I, 1R, ROU-POR 3-1 Terra Wortmann Open - Halle Generali Open - Kitzbuhel Wimbledon (juniors) U.S. Open (juniors) Australian Open (juniors) U.S. Open (juniors) French Open (juniors) Wimbledon (juniors) Australian Open (juniors) French Open (juniors) Wimbledon (juniors) EFG Swiss Open - Gstaad Generali Open - Kitzbuhel All Lower level tournaments Olympics - Rio de Janeiro Plava Laguna Croatia Open - Umag Miami Open - Miami Shanghai Rolex Masters - Shanghai Sony Open Tennis - Miami Mutua Madrid Open - Madrid Rolex Paris Masters - Paris National Bank Open - Montreal Rolex Paris Masters - Paris Mutua Madrid Open - Madrid BNP Paribas Open - Indian Wells Miami Open - Miami Rolex Paris Masters - Paris BNP Paribas Open - Indian Wells U.S. Open - New York French Open - Paris U.S. Open - New York U.S. Open - New York French Open - Paris Davis Cup, Group I, 2R, POR-UKR 4-1 Davis Cup, Group I, PO, POR-POL 4-0 Davis Cup, World Group, Q, SUI-ESP 1-3 Olympics - Tokyo